|
creator |
Bischof, Marc
| date |
2008-10-31
| | | description |
109 pages
| |
The Business Process Execution Language (BPEL) is an XML-based
language to specify business processes with the intention to act as
the central controller of the business process". It provides a
standardized way for programming in the large in a service oriented
world. BPEL is not a programming language at all and does not have a
graphical representation. Mappings from graphical languages such as
the Business Process Modeling Notation (BPMN) to BPEL are available,
but programmers familiar to syntax like Java, C, ... are
disregarded. Therefore, especially for prototyping or teaching, it
would be nice to have a programming language which omits the
XML-overhead of BPEL but offers the same features as BPEL. One
option is to force the programmers to learn a completely new syntax.
The other option is to introduce a new syntax to BPEL.
Therefore, the "BPEL Simplified Syntax" called SimPEL was
recommended by the Apache ODE Group, referring to the a mix of both
options. However, SimPEL is not equivalent to BPEL and its aims of
specifying business processes. In order to come up with an easy
scripting syntax, this work introduce BPELscript, referring to the
second option. BPELscript forks directly from SimPEL aiming on big
closeness to BPEL. In contrast to SimPEL, BPELscript supports all of
BPELs constructs including the correlation.
To gain in importance, a 1:1 mapping from BPEL to BPELscript and
vice versa is required. Therefore this work provides a translator
using the ANTLR v3 (ANother Tool for Language Recognition) parser
generator which is based on a predicated-LL(*) parsing strategy.
This solution uses the implicit tree structure behind the input
sentences to construct an abstract syntax tree (AST) which is a
highly processed and condensed version of the input. The translator
maps each input sentence of the source language to an output
sentence by embedding actions (e.g. code) within the grammar or
tree. This actions will be executed according to its position within
the grammar or tree. To support an easy handling of implicit
declarations the translation is broken down into multiple passes.
This work describes how BPELscript achieves its 1:1 mapping using
automated tools to provide extensibility, maintainability and of
course usability. Therefore the work is split into five chapters: *
Chapter 2 - "Introduction to Computer Language Translation and
the Main Tools" describes basics of language translation and
introduces the main tools. * Chapter 3 - "BPELscript"
introduces the BPELscript syntax and discuss modeling alternatives
and the mapping to BPEL. * Chapter 4 - "Project Description of
bosto - The BPEL to BPELscript Translator" provides a technical
description of a prototypical translator named bosto. * Chapter 5 -
"Summary and Outlook" concludes the work Finally, the
appendix shows language basics of BPELscript which are not mentioned
in the text and the complete BPELscript grammar. Thereby, the
grammar presents an overview of the correlation between SimPEL and
BPELscript. Furthermore, it provides several overviews about
expressions, annotations and keywords. For completeness and as it
seems to be an emerging standard way when talking on BPEL, the
appendix shows also a complete Loan Approval Process in BPELscript.
| format |
application/pdf
| | 1046230 Bytes | |